Three-dimensional (3D) television has been a technology trend in recent years that intends to bring viewers sensational viewing experience. Various technologies have been developed to enable 3D viewing and the multi-view video is a key technology for 3DTV application among others. To exploit the inter-view redundancy, 3D coding tools such as sub-PU level inter-view motion prediction (SPIVMP) and view synthesized prediction (VSP) have been integrated to conventional 3D-HEVC (High Efficiency Video Coding) or 3D-AVC (Advanced Video Coding) codec.
The SPIVMP processing in the current 3DV-HTM (three-dimensional video coding based on High Efficiency Video Coding (HEVC) Test Model) is illustrated in FIG. 1. A current processed PU (122) in a current dependent view (i.e., V1 120) is divided into multiple sub-PUs, (i.e., A, B, C and D) where each sub-PU has a smaller size. The disparity vector (DV) associated with each sub-PU is added to the respective position (as illustrated by a dot in the center of each sub-PU) to locate a respective prediction block (i.e., A′, B′, C′ or D′) in the reference view (i.e., V0 110), where the prediction blocks (i.e., A′, B′, C′ and D′) in the reference view are already coded. The prediction blocks cover the sample positions are used as reference blocks. The DV used to derive a reference block in a reference view for each sub-PU can be a derived DV and the derived DV can be different for each sub-PU or all sub-PUs can share a unified derived DV.
For each reference block, if it is coded using motion compensated prediction (MCP), the associated motion parameters (i.e., MVA′, MVB′, MVC′, and MVD′ associated with reference view V0) can be used as temporal inter-view motion vector candidate (TIVMC) for the corresponding sub-PU in the current PU in the current view. Otherwise, the corresponding sub-PU can share the candidate motion parameters with its spatial neighbors. The TIVMC of the current PU is composed of the TIVMC of all the sub-PUs. The sub-PU size can be 4×4, 8×8, 16×16, etc, which can be indicated by a flag in video parameter set (VPS).
An example of VSP processing is shown in FIG. 2. For a texture PU (222) in a current dependent view (T1 220), the DV (240) associated with a neighboring block (224) can be used to located a corresponding depth block (234) of the depth picture in the reference view (D0 230). The DV (240) is used to locate a co-located block (232) of the depth picture in the reference view (D0 230). The samples in the current texture PU (222) are warped into corresponding samples in the reference texture view (T0 210). The mappings (250a-c) illustrate an example of mapping samples in the current texture PU to samples in the reference texture picture according to DVs converted from corresponding depth values. The VSP method in current 3D-HEVC also uses the sub-PU level prediction (as indicated by dashed lines in block 232 and block 222) and the sub-PU size can be 8×4 or 4×8. Accordingly, the texture PU (222) may be divided into sub-PUs and each sub-PU is mapped to a corresponding depth sub-block.
In current 3D-HEVC, the sub-PU level inter-view motion prediction (IVMP) and the sub-PU view synthesis prediction (VSP) are allowed for small PUs to be further split. For example, a PU can be further split into 8×4 or 4×8 sub-PUs for SPIVMP or VSP. The small sub-PUs will cause increase system memory bandwidth. In order to reduce the memory bandwidth in motion compensation, the bi-prediction for small PU sizes (8×4, 4×8) has been disabled in the conventional HEVC. It is desirable to develop modified existing 3D-HEVC coding tools such as SPIVMP and view synthesized prediction (VSP) to relief the high memory bandwidth requirement while retaining the performance.